package com.salefinder.client;

import java.util.List;

import com.salefinder.client.vo._ConsumerProductVO;
import com.salefinder.client.vo._NameIdPairVO;
import com.salefinder.client.vo._UserItemListVO;
import com.salefinder.client.vo._UserVO;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The client side stub for the RPC service.
 */
public interface SaleFinderServiceAsync {
	void greetServer(String name, AsyncCallback<String> callback);

	void searchProduct(_ConsumerProductVO vo, AsyncCallback<List<_ConsumerProductVO>> callback);

	void login(_UserVO vo, AsyncCallback<_UserVO> callback);

	void submitProduct(_ConsumerProductVO vo, AsyncCallback<Void> callback);

	void registerUser(_UserVO vo, AsyncCallback<Void> callback);

	void getProductSuggestions(String name, AsyncCallback<List<String>> callback);

	void getBrandSuggestions(String name, AsyncCallback<List<_NameIdPairVO>> callback);

	void getMerchantSuggestions(String name, AsyncCallback<List<_NameIdPairVO>> callback);

	void getLocationSuggestions(String name, AsyncCallback<List<_NameIdPairVO>> callback);

	void getMyList(_UserVO vo, AsyncCallback<List<_ConsumerProductVO>> callback);
	
}
